home *** CD-ROM | disk | FTP | other *** search
- From: jbye@acorn.co.uk (James)
- Subject: Re: FilterManager SWIs
- Date: 3 Aug 92 07:52:44 GMT
-
- Filter Manager
- --------------
-
- Filter Manager service calls:
-
- Service_FilterManagerInstalled (&87)
- ------------------------------
- in R0 = Version number of Filter Manager *100, ie. 1.23 => 123
- R1 = Service_FilterManagerInstalled
- out all must be preserved, must never be claimed
-
- This service call is broadcast to allow modules that install a Filter
- to be reinstalled when the filter manager is reloaded / re-inited.
-
- The SWI is issued on a callback, so the SWI interface is valid for
- registering filters.
-
-
- Service_FilterManagerDying (&88)
- --------------------------
- in R1 = Service_FilterManagerDying
- out all must be preserved, must never be claimed
-
- This is broadcast when the filter manager has unlinked all filters from
- its active lists (just before the module dies) to allow the filter owners
- to tidy any internal state.
-
-
- Filter manager SWIs:
-
-
- Filter_RegisterPreFilter (SWI &42640)
-
- Add a new pre filter to the list of pre filters.
-
- Entry:
- R0 - Pointer to 0 terminated filter name.
- R1 - Addresss of filter.
- R2 - Value to be passed in R12.
- R3 - Task handle of task to which filter is applied.
- or 0 for all tasks.
-
- Exit:
- Registers preserved.
-
- The address pointed to by R1 will be called whenever the task who's
- handle is passed in R3 calls Wimp_Poll with R12 equal to the value of R2
- when this SWI is called.
-
-
- The routine pointed to by R1 will be called with:
-
- R0 = Event mask as passed to Wimp_Poll
- R1 -> Event block as passed to Wimp_Poll
- R2 = Task handle of task that called Wimp_Poll.
-
- On Exit:
-
- It may clear bits in r0 to provide a new event mask.
-
- It must preserve all other registers.
-
-
-
- Filter_RegisterPostFilter (SWI &42641)
-
- Add a new post filter to the list of post filters.
-
- Entry:
- R0 - Pointer to 0 terminated filter name.
- R1 - Addresss of filter.
- R2 - Value to be passed in R12.
- R3 - Task handle of task to which filter is applied.
- or 0 for all tasks.
- R4 - Event mask ( 1 bit masks the event out as for Wimp_Poll).
-
- Exit:
- Registers preserved.
-
-
- The address pointed to by R1 will be called whenever the Wimp is
- about to return to the task who's handle is passed in R3 from Wimp_Poll with
- R12 equal to the value of R2 when this SWI is called.
-
- On entry to the routine pointed to by R1:
-
- R0 - Event reason code (as from Wimp Poll)
- R1 -> User's event buffer.
- R2 = Task handle for task to which the return is made.
- Task paged in.
-
- On Exit:
-
- The routine may modify the reason code in r0 and the contents of the
- buffer pointed to by R1 to provide a new event.
-
- It must preserve R1 and R2.
-
-
-
-
-
- Filter_DeRegisterPreFilter (SWI &42642)
-
- Remove a pre filter from the list of pre filters.
-
- Entry:
- R0 - Pointer to 0 terminated filter name.
- R1 - Addresss of filter.
- R2 - Value to be passed in R12.
- R3 - Task handle of task to which filter was applied.
-
- All must be the same as those passed to RegisterPreFilter
- Exit:
- Registers preserved.
- Filter de-registered.
-
-
- Filter_DeRegisterPostFilter (SWI &42642)
-
- Remove a pre filter from the list of pre filters.
-
- Entry:
- R0 - Pointer to 0 terminated filter name.
- R1 - Addresss of filter.
- R2 - Value to be passed in R12.
- R3 - Task handle of task to which filter was applied.
-
- All must be the same as those passed to RegisterPreFilter
- Exit:
- Registers preserved.
- Filter de-registered.
-
-
-
-
-
-